package com.accounting.client.remote;

import com.accounting.client.remote.obj.Order;
import com.accounting.client.remote.transfer.CreateOrderRequest;
import com.accounting.client.remote.transfer.CreateQuickOrderRequest;
import com.accounting.client.remote.transfer.SearchOrderRequest;
import com.accounting.client.remote.transfer.UpdateOrderRequest;
import corelib.client.jsonrpc.RemoteJSONService;
import corelib.client.search.PagingRequest;
import corelib.client.search.PagingResult;

public interface OrderService extends RemoteJSONService {
	
	public String TrackOrder(String passport, int orderId);
	public PagingResult<Order> ListOrders(String passport,   PagingRequest request);
	public PagingResult<Order> SearchOrders(String passport, SearchOrderRequest request);
			 
	public boolean CancelOrder(String passport, int orderId);
	public boolean UpdateOrder(String passport, UpdateOrderRequest request);
	public boolean UpdateOrderStatus(String passport, int orderId, int status);
	
	public boolean CreateOrder(String passport, CreateOrderRequest request);
	public boolean CreateQuickOrder(String passport, CreateQuickOrderRequest request);
	
}
